﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CardTypes = Wormhole.Engine.CardLibrary.CardTypes;
using CardProperties = Wormhole.Engine.CardLibrary.CardProperties;

namespace Wormhole.Engine.CardLibrary.SG1.Cards.Villain.Obstacle
{
	/// <author>Rodney McKay</author>
	/// <date>08 April 2008</date>
	/// <summary>
	/// Tight Rein
	/// </summary>
	/// 
	/// <card>
	///		<title>Tight Rein</title>
	///		<cost>4</cost>
	///		<gameText>To assign a character, your opponent stops another character.</gameText>
	///		<lore>The Tagrean military was very suspicious of the strange visitors from the ship called Prometheus. Despite the diplomatic openness of Tagrea's political leater, the people of Earth were kept under close scrutiny.</lore>
	///		
	///		<collectorInfo>
	///			<expansion>1</expansion>
	///			<rarity>Common</rarity>
	///			<number>278</number>
	///		</collectorInfo>
	///		
	///		<traits>
	///			<trait>Obstacle</trait>
	///		</traits>
	///		
	///		<skills>
	///			<culture>1</culture>
	///			<combat>2</combat>
	///			<ingenuity>2</ingenuity>
	///		</skills>
	/// </card>
	public class SG1C278 : CardTypes.Obstacle
	{
		#region Properties

		#region Title
		/// <summary>
		/// The card title.
		/// </summary>
		public override string Title
		{
			get { return "Tight Rein"; }
		}
		#endregion

		#region Cost
		/// <summary>
		/// Card cost.
		/// </summary>
		public override int Cost
		{
			get { return 4; }
		}
		#endregion

		#region Game Text
		/// <summary>
		/// The game text.
		/// </summary>
		public override string GameText
		{
			get { return "To assign a character, your opponent stops another character."; }
		}
		#endregion

		#region Lore
		/// <summary>
		/// The lore card text.
		/// </summary>
		public override string Lore
		{
			get
			{
				return "The Tagrean military was very suspicious of the strange visitors from the ship called Prometheus. Despite the diplomatic openness of Tagrea's political leater, the people of Earth were kept under close scrutiny.";
			}
		}
		#endregion

		#region Traits
		private CardProperties.Traits _traits;
		/// <summary>
		/// The card traits.
		/// </summary>
		public override CardProperties.Traits Traits
		{
			get
			{
				if (this._traits == null)
				{
					this._traits = new CardProperties.Traits();
					this._traits.Add(CardProperties.Trait.Obstacle);
				}

				return this._traits;
			}
		}
		#endregion

		#region Skills
		private CardProperties.Skills _skills;
		/// <summary>
		/// The skills the character has.
		/// </summary>
		public override CardProperties.Skills Skills
		{
			get
			{
				if (this._skills == null)
				{
					this._skills = new CardProperties.Skills();
					this._skills.Culture = 1;
					this._skills.Science = null;
					this._skills.Combat = 2;
					this._skills.Ingenuity = 2;
				}

				return this._skills;
			}
		}
		#endregion

		#region Collector Info
		private CardProperties.CollectorInfo _collectorInfo;
		/// <summary>
		/// The collector information.
		/// </summary>
		public override CardProperties.CollectorInfo CollectorInfo
		{
			get
			{
				if (this._collectorInfo == null)
				{
					this._collectorInfo = new CardProperties.CollectorInfo();
					this._collectorInfo.Expansion = 1;
					this._collectorInfo.Rarity = CardProperties.Rarity.Common;
					this._collectorInfo.Number = 278;
				}

				return this._collectorInfo;
			}
		}
		#endregion

		#region Image URI
		private Uri _imageUri;
		/// <summary>
		/// The location of the card image.
		/// </summary>
		public override Uri ImageUri
		{
			get
			{
				if (this._imageUri == null)
				{
					this._imageUri = new Uri("pack://application:,,,/Wormhole.Engine.CardLibrary.SG1;component/Images/Villain/Obstacle/1C278.jpg", UriKind.Absolute);
				}

				return this._imageUri;
			}
		}
		#endregion

		#endregion

		#region Constructor
		/// <summary>
		/// Initialize a new instance of the class.
		/// </summary>
		/// <param name="owner">The card owner.</param>
		public SG1C278(Player.Player owner)
			: base(owner)
		{

		}
		#endregion
	}
}
